#include <ros/ros.h>
#include "custom_msg/CustomMsg.h"  // 包含自定义消息头文件

int main(int argc, char** argv) {
    // 初始化ROS节点，节点名为"cpp_publisher"
    ros::init(argc, argv, "cpp_publisher");
    ros::NodeHandle nh;

    // 创建发布器，发布到话题"/custom_topic"，消息类型为custom_msg::CustomMsg，队列大小10
    ros::Publisher pub = nh.advertise<custom_msg::CustomMsg>("custom_topic", 10);
    
    // 设置发布频率为1Hz（每秒1次）
    ros::Rate rate(1);

    float count = 0.0;
    while (ros::ok()) {  // ROS正常运行循环
        // 构造消息内容
        custom_msg::CustomMsg msg;
        msg.number = count;  // 设置浮点数值
        msg.text = "Current count: " + std::to_string((int)count);  // 设置字符串（转换为整数显示）

        // 发布消息
        pub.publish(msg);
        // 打印日志信息
        ROS_INFO("Published: %.2f | %s", msg.number, msg.text.c_str());

        // 休眠以维持发布频率
        rate.sleep();
        count += 0.5;  // 数值递增0.5
    }
    return 0;
}
